package github.ziwukun.jsonql.lang;

import java.io.Serializable;

/**
 * 元素排序
 * @author Hugo.Yu
 */
public interface PropSort extends ToJSONQLable,Serializable{
	/**排序字段名称*/
	String prop();
	
	/**值类型是否是排序方式*/
	boolean valIsSort();
	/**值类型是否是排序符号*/
	boolean valIsSymbol();
	
	/**获取值，类型为排序类型*/
	Sort valAsSort();
	/**获取值，类型为排序符号*/
	SortSym valAsSym();
	
	/**替换属性名称*/
	PropSort repProp(String propName);
	/**替换值*/
	PropSort repVal(Serializable val);
}
